/*
 * Copyright (c) 2023-2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ST_AUDIO_POLICY_IPC_INTERFACE_H
#define ST_AUDIO_POLICY_IPC_INTERFACE_H

/* SAID: 3009 */
namespace OHOS {
namespace AudioStandard {
// WARNING: below functions correspond with IAudioPolicy.idl
enum class AudioPolicyInterfaceCode {
    GET_MAX_VOLUMELEVEL,
    GET_MIN_VOLUMELEVEL,
    SET_SYSTEM_VOLUMELEVEL_LEGACY,
    SET_SYSTEM_VOLUMELEVEL,
    SET_APP_VOLUMELEVEL,
    SET_APP_VOLUME_MUTED,
    SET_APP_RING_MUTED,
    SET_ADJUST_VOLUME_FOR_ZONE,
    IS_APP_MUTE,
    SET_SELF_APP_VOLUMELEVEL,
    SET_SYSTEM_VOLUMELEVEL_WITH_DEVICE,
    GET_SYSTEM_VOLUMELEVEL,
    GET_APP_VOLUMELEVEL,
    GET_SELF_APP_VOLUME_LEVEL,
    SET_STREAM_MUTE_LEGACY,
    SET_STREAM_MUTE,
    GET_STREAM_MUTE,
    IS_STREAM_ACTIVE,
    IS_STREAM_ACTIVE_BY_STREAM_USAGE,
    SET_DEVICE_ACTIVE,
    IS_DEVICE_ACTIVE,
    GET_ACTIVE_OUTPUT_DEVICE,
    GET_ACTIVE_INPUT_DEVICE,
    SET_RINGER_MODE_LEGACY,
    SET_RINGER_MODE,
    GET_RINGER_MODE,
    SET_AUDIO_SCENE,
    GET_AUDIO_SCENE,
    SET_MICROPHONE_MUTE,
    SET_MICROPHONE_MUTE_AUDIO_CONFIG,
    IS_MICROPHONE_MUTE_LEGACY,
    IS_MICROPHONE_MUTE,
    SET_CALLBACK,
    UNSET_CALLBACK,
    SET_QUERY_CLIENT_TYPE_CALLBACK,
    SET_CLIENT_INFO_MGR_CALLBACK,
    SET_VKB_INFO_MGR_CALLBACK,
    CHECK_VKB_INFO,
    SET_QUERY_BUNDLE_NAME_LIST_CALLBACK,
    ACTIVATE_INTERRUPT,
    DEACTIVATE_INTERRUPT,
    SET_INTERRUPT_CALLBACK,
    UNSET_INTERRUPT_CALLBACK,
    SET_AUDIO_ROUTE_CALLBACK,
    UNSET_AUDIO_ROUTE_CALLBACK,
    REQUEST_AUDIO_FOCUS,
    ABANDON_AUDIO_FOCUS,
    GET_STREAM_IN_FOCUS,
    GET_SESSION_INFO_IN_FOCUS,
    GET_DEVICES,
    SELECT_OUTPUT_DEVICE,
    GET_SELECTED_DEVICE_INFO,
    SELECT_INPUT_DEVICE,
    CREATE_RENDERER_CLIENT,
    CREATE_CAPTURER_CLIENT,
    REGISTER_TRACKER,
    UPDATE_TRACKER,
    GET_RENDERER_CHANGE_INFOS,
    GET_CAPTURER_CHANGE_INFOS,
    SET_LOW_POWER_STREAM_VOLUME,
    GET_LOW_POWER_STREAM_VOLUME,
    UPDATE_STREAM_STATE,
    GET_SINGLE_STREAM_VOLUME,
    GET_VOLUME_GROUP_INFO,
    GET_NETWORKID_BY_GROUP_ID,
    GET_TONEINFO,
    GET_SUPPORTED_TONES,
    GET_ACTIVE_OUTPUT_DEVICE_DESCRIPTORS,
    GET_PREFERRED_INTPUT_DEVICE_DESCRIPTORS,
    SET_CALLBACKS_ENABLE,
    GET_AUDIO_FOCUS_INFO_LIST,
    SET_SYSTEM_SOUND_URI,
    GET_SYSTEM_SOUND_URI,
    GET_MIN_VOLUME_STREAM,
    GET_MAX_VOLUME_STREAM,
    GET_MAX_RENDERER_INSTANCES,
    IS_VOLUME_UNADJUSTABLE,
    ADJUST_VOLUME_BY_STEP,
    ADJUST_SYSTEM_VOLUME_BY_STEP,
    GET_SYSTEM_VOLUME_IN_DB,
    QUERY_EFFECT_SCENEMODE,
    GET_HARDWARE_OUTPUT_SAMPLING_RATE,
    GET_AUDIO_CAPTURER_MICROPHONE_DESCRIPTORS,
    GET_AVAILABLE_MICROPHONE_DESCRIPTORS,
    SET_DEVICE_ABSOLUTE_VOLUME_SUPPORTED,
    GET_ABS_VOLUME_SCENE,
    SET_A2DP_DEVICE_VOLUME,
    SET_NEARLINK_DEVICE_VOLUME,
    GET_AVAILABLE_DESCRIPTORS,
    SET_AVAILABLE_DEVICE_CHANGE_CALLBACK,
    UNSET_AVAILABLE_DEVICE_CHANGE_CALLBACK,
    IS_SPATIALIZATION_ENABLED,
    IS_SPATIALIZATION_ENABLED_FOR_DEVICE,
    SET_SPATIALIZATION_ENABLED,
    SET_SPATIALIZATION_ENABLED_FOR_DEVICE,
    IS_HEAD_TRACKING_ENABLED,
    IS_HEAD_TRACKING_ENABLED_FOR_DEVICE,
    SET_HEAD_TRACKING_ENABLED,
    SET_HEAD_TRACKING_ENABLED_FOR_DEVICE,
    GET_SPATIALIZATION_STATE,
    IS_SPATIALIZATION_SUPPORTED,
    IS_SPATIALIZATION_SUPPORTED_FOR_DEVICE,
    IS_HEAD_TRACKING_SUPPORTED,
    IS_HEAD_TRACKING_SUPPORTED_FOR_DEVICE,
    UPDATE_SPATIAL_DEVICE_STATE,
    REGISTER_SPATIALIZATION_STATE_EVENT,
    CONFIG_DISTRIBUTED_ROUTING_ROLE,
    SET_DISTRIBUTED_ROUTING_ROLE_CALLBACK,
    UNSET_DISTRIBUTED_ROUTING_ROLE_CALLBACK,
    UNREGISTER_SPATIALIZATION_STATE_EVENT,
    REGISTER_POLICY_CALLBACK_CLIENT,
    CREATE_AUDIO_INTERRUPT_ZONE,
    ADD_AUDIO_INTERRUPT_ZONE_PIDS,
    REMOVE_AUDIO_INTERRUPT_ZONE_PIDS,
    RELEASE_AUDIO_INTERRUPT_ZONE,
    REGISTER_AUDIO_ZONE_CLIENT,
    CREATE_AUDIO_ZONE,
    RELEASE_AUDIO_ZONE,
    GET_ALL_AUDIO_ZONE,
    GET_AUDIO_ZONE_BY_ID,
    BIND_AUDIO_ZONE_DEVICE,
    UNBIND_AUDIO_ZONE_DEVICE,
    ENABLE_AUDIO_ZONE_REPORT,
    ENABLE_AUDIO_ZONE_CHANGE_REPORT,
    ADD_UID_TO_AUDIO_ZONE,
    REMOVE_UID_FROM_AUDIO_ZONE,
    ADD_STREAM_TO_AUDIO_ZONE,
    REMOVE_STREAM_FROM_AUDIO_ZONE,
    SET_ZONE_DEVICE_VISIBLE,
    ENABLE_SYSTEM_VOLUME_PROXY,
    GET_AUDIO_INTERRUPT_FOR_ZONE,
    GET_AUDIO_INTERRUPT_OF_DEVICE_FOR_ZONE,
    ENABLE_AUDIO_ZONE_INTERRUPT_REPORT,
    INJECT_INTERRUPT_TO_AUDIO_ZONE,
    INJECT_INTERRUPT_OF_DEVICE_TO_AUDIO_ZONE,
    SET_CALL_DEVICE_ACTIVE,
    GET_AUDIO_CONVERTER_CONFIG,
    GET_ACTIVE_BLUETOOTH_DESCRIPTOR,
    FETCH_OUTPUT_DEVICE_FOR_TRACK,
    FETCH_INPUT_DEVICE_FOR_TRACK,
    IS_HIGH_RESOLUTION_EXIST,
    SET_HIGH_RESOLUTION_EXIST,
    GET_SPATIALIZATION_SCENE_TYPE,
    SET_SPATIALIZATION_SCENE_TYPE,
    GET_MAX_AMPLITUDE,
    IS_HEAD_TRACKING_DATA_REQUESTED,
    SET_AUDIO_DEVICE_REFINER_CALLBACK,
    UNSET_AUDIO_DEVICE_REFINER_CALLBACK,
    TRIGGER_FETCH_DEVICE,
    DISABLE_SAFE_MEDIA_VOLUME,
    GET_DEVICES_INNER,
    SET_AUDIO_CONCURRENCY_CALLBACK,
    UNSET_AUDIO_CONCURRENCY_CALLBACK,
    ACTIVATE_AUDIO_CONCURRENCY,
    SET_MICROPHONE_MUTE_PERSISTENT,
    GET_MICROPHONE_MUTE_PERSISTENT,
    GET_SUPPORT_AUDIO_EFFECT_PROPERTY_V3,
    GET_AUDIO_EFFECT_PROPERTY_V3,
    SET_AUDIO_EFFECT_PROPERTY_V3,
    GET_SUPPORT_AUDIO_ENHANCE_PROPERTY,
    GET_SUPPORT_AUDIO_EFFECT_PROPERTY,
    GET_AUDIO_ENHANCE_PROPERTY,
    GET_AUDIO_EFFECT_PROPERTY,
    SET_AUDIO_ENHANCE_PROPERTY,
    SET_AUDIO_EFFECT_PROPERTY,
    INJECT_INTERRUPTION,
    ACTIVATE_AUDIO_SESSION,
    DEACTIVATE_AUDIO_SESSION,
    IS_AUDIO_SESSION_ACTIVATED,
    SET_INPUT_DEVICE,
    LOAD_SPLIT_MODULE,
    GET_SYSTEM_ACTIVEVOLUME_TYPE,
    GET_OUTPUT_DEVICE,
    GET_INPUT_DEVICE,
    SET_AUDIO_DEVICE_ANAHS_CALLBACK,
    UNSET_AUDIO_DEVICE_ANAHS_CALLBACK,
    IS_ALLOWED_PLAYBACK,
    SET_VOICE_RINGTONE_MUTE,
    SET_CALLBACK_RENDERER_INFO,
    SET_CALLBACK_CAPTURER_INFO,
    GET_STREAM_IN_FOCUS_BY_UID,
    SET_PREFERRED_DEVICE,
    SET_DEVICE_VOLUME_BEHAVIOR,
    SET_VIRTUAL_CALL,
    SET_DEVICE_CONNECTION_STATUS,
    EXCLUDE_OUTPUT_DEVICES,
    UNEXCLUDE_OUTPUT_DEVICES,
    GET_EXCLUDED_OUTPUT_DEVICES,
    IS_SPATIALIZATION_ENABLED_FOR_CURRENT_DEVICE,
    SET_QUERY_ALLOWED_PLAYBACK_CALLBACK,
    ACTIVATE_PREEMPT_MODE,
    DEACTIVATE_PREEMPT_MODE,
    IS_FAST_PLAYBACK_SUPPORTED,
    IS_FAST_RECORDING_SUPPORTED,
    GET_DM_DEVICE_TYPE,
    GET_DIRECT_PLAYBACK_SUPPORT,
    NOFITY_SESSION_STATE_CHANGE,
    NOFITY_FREEZE_STATE_CHANGE,
    RESET_ALL_PROXY,
    NOTIFY_PROCESS_BACKGROUND_STATE,
    SET_BACKGROUND_MUTE_CALLBACK,
    IS_ACOSTIC_ECHO_CAMCELER_SUPPORTED,
    FORCE_STOP_AUDIO_STREAM,
    IS_CAPTURER_FOCUS_AVAILABLE,
    GET_MAX_VOLUME_LEVEL_BY_USAGE,
    GET_MIN_VOLUME_LEVEL_BY_USAGE,
    GET_VOLUME_LEVEL_BY_USAGE,
    GET_STREAM_MUTE_BY_USAGE,
    GET_VOLUME_IN_DB_BY_STREAM,
    GET_SUPPORTED_AUDIO_VOLUME_TYPES,
    GET_AUDIO_VOLUME_TYPE_BY_STREAM_USAGE,
    GET_STREAM_USAGES_BY_VOLUME_TYPE,
    SET_CALLBACK_STREAM_USAGE_INFO,
    UPDATE_DEVICE_INFO,
    SET_SLE_AUDIO_OPERATION_CALLBACK,
    SET_KARAOKE_PARAMETERS,
    IS_AUDIO_LOOPBACK_SUPPORTED,
    SET_COLLABORATIVE_PLAYBACK_ENABLED_FOR_DEVICE,
    IS_COLLABORATIVE_PALYBACK_SUPPORTED,
    IS_COLLABORATIVE_PLAYBACK_ENABLED_FOR_DEVICE,
    SET_AUDIO_SESSION_SCENE,
    GET_SESSION_DEFAULT_OUTPUT_DEVICE,
    SET_SESSION_DEFAULT_OUTPUT_DEVICE,
    SET_QUERY_DEVICE_VOLUME_BEHAVIOR_CALLBACK,
    IS_INTELLIGENT_NOISE_REDUCTION_ENABLED_FOR_CURRENT_DEVICE,
    AUDIO_POLICY_MANAGER_CODE_MAX = IS_INTELLIGENT_NOISE_REDUCTION_ENABLED_FOR_CURRENT_DEVICE,
};
} // namespace AudioStandard
} // namespace OHOS

#endif // ST_AUDIO_POLICY_IPC_INTERFACE_H
